package cn.iocoder.yudao.module.iot.service.mqtt;

import cn.iocoder.yudao.module.iot.dal.dataobject.scene.IotSceneActionDO;

/**
 * IoT MQTT 消息发送服务
 *
 * @author 芋道源码
 */
public interface IotMqttService {

    /**
     * 发送设备控制指令
     *
     * @param action 场景动作
     */
    void sendDeviceControlMessage(IotSceneActionDO action);

    /**
     * 发送场景更新消息
     *
     * @param sceneId 场景ID
     */
    void sendSceneUpdateMessage(Long sceneId);

    /**
     * 发送场景删除消息
     *
     * @param sceneId 场景ID
     */
    void sendSceneDeleteMessage(Long sceneId);

    /**
     * 发送设备阈值设置指令
     *
     * @param deviceId 设备ID
     * @param thresholdType 阈值类型 (voltage)
     * @param thresholdValue 阈值数值
     */
    void sendThresholdSettingMessage(Long deviceId, String thresholdType, Double thresholdValue);

    /**
     * 发送设备雷达设置指令
     *
     * @param deviceId 设备ID
     * @param radarSettings 雷达设置参数
     */
    void sendRadarSettingMessage(Long deviceId, java.util.Map<String, Object> radarSettings);

} 